import { Store } from './utils'
import { DEFAULT_LANGUAGE, DEFAULT_LOGIN_STYLE } from 'common/config'

const key = '__state__'
const store = new Store(key)

const _defaultState = {
  isLogin: false, // 登录状态
  user: null, // 登录用户信息
  loginStyle: DEFAULT_LOGIN_STYLE, // 登录风格
  language: DEFAULT_LANGUAGE,
}

// const defaultState = {
//     "isLogin":true,
//     "user":{
//         "id":54,
//         "name":"admin",
//         "age":76,
//         "address":"广西壮族自治区 贵港市 覃塘区",
//         "avatar":"http://dummyimage.com/200x200/50B347/FFF&text=头像",
//         "rules":["developer","loser","cool","teacher"]
//     },
//     "loginStyle":"login1",
//     "language":"zh-CN"
// }

store.set({ ..._defaultState, ...store.get() })

export default store.get()

/**
 * 退出登录
 */
export function logoutFun() {
  store.set({
    ...store.get(),
    user: null,
    isLogin: false,
  })
}

/**
 * 修改状态
 * @param {*} key
 * @param {*} value
 * @returns
 */
export function setState(key, value) {
  store.set({ ...store.get(), [key]: value })
}

/**
 * 获取状态
 * @param {*} key
 * @returns
 */
export function getState(key) {
  return store.get()[key]
}

/**
 * 设置登录风格类型
 * @param {*} type
 */
export function setLoginStyle(type) {
  store.set({ ...store.get(), loginStyle: type })
}

/** 获取登录风格类型 */
export function getLoginStyle() {
  return store.get()['loginStyle']
}
